package net.wendal.base.design;

/**
 * Created by y on 2017/2/7.
 *
 * 模板方法模式：定义一个操作中算法的框架，而将一些步骤延迟到子类中实现。模板方法
 *      模式使得子类可以不改变一个算法结构的结构即可重定义该算法的某些特定步骤
 * Template Method Pattern:  Define the skeleton of an algorithm in an  operation,
 *                          deferring some steps to subclasses.
 *                          Template Method lets  subclasses redefine
 *                          certain steps of an algorithm without changing the
 *                          algorithm's structure.
 *  基于继承的代码复用技术，类行为模式
 *
 *  （AbstractClass）抽象类：在抽象类中定义一系列的基本操作（PrimitiveOperations），这些操作可以是具体的，也可以是抽象的
 *          每个基本操作对应算法的一个步骤，在其子类中可以重定义或实现这些步骤，同时，在抽象类中实现了一个
 *          模版方法（Template Method）,用于定义一个算法的框架，模版方法不仅可以调用在抽象类中的实现的基本方法
 *          也可以调用在抽象类的子类中实现的基本方法，还可以调用其他对象的方法
 *  (ConcreteClass)具体子类：抽象类的子类，用于实现父类中的基本操作以完成子类特定的算法步骤，也可以覆盖弗雷中具体的基本操作
 */
public class TemplateMethodMode {
}
